var mapWidth = 512;
var mapHeight = 320;
var mapType;
var center_lat = 0;
var center_lng = 0;
var marker_lat = 0;
var marker_lng = 0;
var setZoom = 3;

var map,marker;
function initMap(zoom)
{
    var mapOptions={zoom: 3,streetViewControl: false,scaleControl: true,mapTypeId: google.maps.MapTypeId.ROADMAP};
    map = new google.maps.Map($('#mapArea')[0], mapOptions);
    google.maps.event.addListener(map, 'maptypeid_changed', function(event) {
        mapType=map.getMapTypeId();
    });
    google.maps.event.addListener(map, 'tilesloaded', function(event) {
        center_lat = map.getCenter().lat();
        center_lng = map.getCenter().lng();
        setZoom = map.getZoom();
    });
    google.maps.event.addListener(map, 'center_changed', function(event) {
        center_lat = map.getCenter().lat();
        center_lng = map.getCenter().lng();
        setZoom = map.getZoom();
    });
    marker = new google.maps.Marker({map:map,draggable:true});
    google.maps.event.addListener(marker, 'dragend', function(event) {
        marker_lat = marker.getPosition().lat();
        marker_lng = marker.getPosition().lng();
    });
    searchMap();
}
function searchMap(zoom){
    var address = $('#address').val();
    var geocoder = new google.maps.Geocoder();
    geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var tlatlng=results[0].geometry.location;
            if(zoom)map.setZoom(zoom);
            map.setCenter(tlatlng);
            marker.setPosition(tlatlng);
            marker.setTitle(address);
        }
        else alert(address + " 地址错误，未找到当前地址");
    });
}
function pasteMap()
{
    if (marker_lat == 0) marker_lat = center_lat;
    if (marker_lng == 0) marker_lng = center_lng;
    callback("http://maps.google.com/maps/api/staticmap?center=" + center_lat + ',' + center_lng + "&zoom=" + setZoom + "&size=" + mapWidth + 'x' + mapHeight + "&maptype=" + mapType + "&markers=" + marker_lat + ',' + marker_lng + "&sensor=false");
}
function pageInit()
{
    $('#address').keypress(function(ev){if(ev.which==13)searchMap(10);});
    $('#mapsearch').click(function(){searchMap(10);});
    $('#addMap').click(pasteMap);
}
$(pageInit);